 program SquareCoaxial
    use select_precision
    use complete_elliptic
    use mymodule
    use dispmodule
    implicit none
    
    integer :: i,N=11
    real(kind=wp) :: d_outer=1._wp , d_inner=5._wp , x , ratio , epsilon_r=1.0_wp,t
    real(wp),allocatable,dimension(:,:) :: res_mat
    real(wp),allocatable,dimension(:) :: vector
    
    
    read *,N
    
    allocate( res_mat(N,3) , vector(N) )
    !t = 1.e13_wp*epsilon(d_inner)
    vector = linspace( ZERO , ONE , N )
    
    do i=1,N
        d_inner = vector(i)
        res_mat( i ,1 ) = d_outer
        res_mat( i ,2 ) = d_inner
        res_mat( i ,3 ) = SquareCoaxImpedance( d_outer , d_inner , epsilon_r )    
    enddo
    call disp( res_mat , fmt = 'f25.16' , trim='yes' )
    
    
    
    
    deallocate( res_mat )
    !~ N=3
    !~ allocate( res_mat(N,4) )
    
    !~ epsilon_r= TWO
    !~ x = 3._wp
    
    !~ do i=1,N
        !~ res_mat( i ,1 ) = epsilon_r
        !~ res_mat( i ,2 ) = x
        !~ res_mat( i ,3 ) = 10._wp   
        !~ res_mat( i ,4 ) = Stripline( 10._wp , x , epsilon_r )     
        !~ x = x + TWO
    !~ enddo
    !~ call disp( res_mat , fmt = 'f25.16' , trim='yes' )
    
    !~ deallocate( res_mat )
    
    !~ vector = linspace( ONE,TWO, 6)
    !~ call disp( vector )
    !~ deallocate( vector )
    

end program SquareCoaxial